package com.wwj.study.observer.curd;

import com.wwj.study.observer.core.Event;

import java.lang.reflect.Method;

/**
 * @Author: wuweijun
 * @Date: 2018/11/20 15:33
 */

//测试类
public class ObserverTest {
    public static void main(String[] args) throws NoSuchMethodException {

        //new 一个观察者
        Observer observer = new Observer();
        //获取观察者方法，回调方法
        Method method = Observer.class.getMethod("advice", Event.class);

        //new 一个被观察者
        Subject subject = new Subject();

        //被观察者添加add监听事件，传入：观察者对象，回调方法
        subject.addLisenter(SubjectEventType.add, observer, method);

        //被观察者，开始操作add方法
        subject.add();
    }
}
